/**
 * @file SawtoothWallMonitor.h
 * @author 
 * @brief 阶跃的墙面检测，搜索机器人附近前后两个指定区域内的激光雷达点，前后各自拟合直线，两条直线近似平行，且距离差在0.09~0.25m内
 * @version 1.0
 * @date 2020-08-20
 * 
 * @copyright Copyright (c) 2020
 * 
 */

#pragma once
#include "lib/contour.h"

namespace behavior_controller
{

    class SawtoothWallMonitor
    {
    public:
        /**
         * @brief 阶跃的墙面检测构造函数
         * @return
         */
        SawtoothWallMonitor(){};

        /**
         * @brief 阶跃的墙面检测运行函数
         * @return
         */
        void run();

        /**
         * @brief 前方墙面检测函数
         * @return
         */
        bool front_area_detect(double &dist, double &angl);

        /**
         * @brief 后方墙面检测函数
         * @return
         */
        bool back_area_detect(double &dist, double &angl);
    };

    //static 
    extern SawtoothWallMonitor sawtooth_wall_monitor;
} // namespace behavior_controller